草庐IT

java - 套接字:BufferedOutputStream 还是 OutputStream?

全部标签

javascript - Javascript 中的套接字服务器(在浏览器中)?

我想允许用户在我正在开发的多人游戏中玩p2p,但要做到这一点,javascript需要能够在浏览器中创建套接字服务器。这可能吗?我不知道有任何API可以让客户端连接到javascript中的其他客户端。还有别的办法吗?喜欢使用隐藏的Flash元素吗?我要的是根本不需要服务器的东西。数据包需要直接从客户端传输到客户端 最佳答案 简而言之,不,浏览器中的p2p是不可能的。最接近的是使用NodeJS(对于潜在的p2pJS)或集中式服务器(或多个服务器)和websockets(对于浏览器中的套接字)

javascript - IE7 默认表单方法是 "GET"。我如何判断它是用户输入的还是默认的?

如果用户创建了一个没有method属性的表单,似乎大多数浏览器都会在表单提交时处理这个问题。因此,在DOM准备好后检查表单元素时,您可以看到表单元素对象没有“方法”属性。然而,IE7显然在所有没有方法值的表单上设置了默认方法值“GET”。我不想争论GET还是POST是最明智的默认设置,我只是想找到一种方法让POST成为所有浏览器的默认表单方法。我的问题是我无法判断用户是否为表单方法输入了“GET”值,或者IE是否将该值作为默认值注入(inject)。如果表单没有method属性,很明显用户没有指定,所以我可以安全地将其默认为POST。但是,如果我看到表单方法的GET值,我无法判断用户是

Javascript 日期,这是我的错误还是我发现了错误?

我的应用程序中有一段简单的Javascript,它有一个链接“AddDay”,该链接将日期增加1天。它总是完美地工作,除非日期变成11/07/2010,然后链接突然不再有效。这真的很奇怪,因为它只在11/07/2010这个特定日期挂断。如何重现错误:导航到页面here在任何日期字段中,点击“今天”,或者将日期设置为今天。点击“添加日期”直到您到达11/07/2010现在点击“添加日期”不再起作用了! 最佳答案 问题是您将24小时添加到日期以添加一天;夏令时妨碍了您,因为11月7日00:00后的24小时将是11月7日的23:00(第二

javascript - 检索 io.socket 中的所有套接字对象

我希望从io.sockets中获取所有单独的套接字对象并迭代它们中的每一个。类似于:for(socketinio.sockets.something()){//dosomethingwitheachsocket}要么我做错了,要么我一定遗漏了什么。想法? 最佳答案 官方的方法是:io.sockets.clients().forEach(function(socket){..});或按房间过滤:io.sockets.clients('roomname')..sameasabove..这是基于上述建议的建议,因为socket.io的内部

javascript - $.ready 是在加载所有内联 <script> 之前还是之后触发?

本质上,这是一个javascript问题,但我正在将事件与jQuery连接。这是一个例子:waiting_on_ready.js中的$.ready回调是否要等待not_cached.js加载完成?是否等待not_cached.js执行? 最佳答案 是的,是的。执行使用HTML5时元素是同步的除外"async"attribute.需要同步执行JavaScript(除非另有要求),因为JavaScript可以通过document.write修改文档流。等(然而,实际获取资源可能是并行的。)快乐编码。

javascript - Socket.io 1.0 + express 4.2 = 无套接字连接

如标题所述,我正在尝试将socket.io1.0.4与express4.2一起使用,所有/?EIO请求都返回404。下面是我的文件:./bin/www:#!/usr/bin/envnodevardebug=require('debug')('generated-express-app');varapp=require('../app');app.set('port',process.env.PORT||3000);varserver=app.listen(app.get('port'),function(){debug('Expressserverlisteningonport'+se

javascript - 从文本框中获取整数值,如何检查它是 NaN 还是 null 等?

我正在通过JavaScript从文本框中提取一个值。如果文本框为空,则返回NaN。如果它为null、空等,我想返回一个空字符串。我要做什么检查?if(NAN=tb.value)? 最佳答案 嗯,这里有些可疑。在什么浏览器中,空文本框会返回NaN?我从未见过这种情况,我无法重现。文本框的值实际上是一个字符串。空文本框返回空字符串!哦,要检查某些东西是否为NaN,您应该使用:if(isNaN(tb.value)){...}注意:isNaN()函数为任何不能解析为数字的内容返回true,空字符串除外。这意味着它可以很好地检查数字输入(比正

javascript - Socket.io:使用套接字 ID 检查连接状态

我有一个连接的套接字ID。我可以在另一个连接的函数处理程序中获取该连接的状态吗?像这样:io.sockets.on('connection',function(socket){/*havingthesocketidof*another*connection,Ican*checkitsstatushere.*/io.sockets[other_socket_id].status}有办法吗? 最佳答案 对于高于1.0的版本,请查看KaranKapoor的回答。对于旧版本,您可以使用io.sockets.sockets[a_socket_

javascript - 套接字 : Get Client sessionID at any point

我知道如何在用户连接时检索客户端sessionID。但我想随时检索它,例如当客户点击某物时,我希望能够知道谁点击了,他们的sessionID是什么。socket.sessionID不起作用,socket.handshake.sessionID也不起作用例如:我有这条快速路线:.get('/result/:survey',function(req,res){res.redirect('/result/'+req.params.survey+'/1');})就在重定向之前,我想让用户加入一个socket房间,并获得他们的sessionID。我怎么可能那样做?根据文档,它将是socket.j

javascript - 我怎么知道用户的滚动是向上还是向下?

我想确定用户的滚动。我正在使用jQuery..并且jquery有.scroll事件..但是.scroll事件无法确定用户是向下还是向上滚动页面。 最佳答案 您可以从这样的变量开始:varposition=$(window).scrollTop();//shouldstartat0然后有一些东西可以监控scrollTop是上升还是下降:$(window).scroll(function(){varscroll=$(window).scrollTop();if(scroll>position){console.log("scrollin